package cn.tedt._05mvcboot01.controller;

import cn.tedt._05mvcboot01.pojo.dto.WeichatDTO;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;

// Controller:将此类标识位一个控制器,用于接收用户的请求
// RestController 相当于 @RequestBody + Controller 注解的结合体
@RestController
@RequestMapping("v1/users/")
public class UserController {

    @RequestMapping("login")
    public String login(){
        return "恭喜你,登录成功!";
    }

//    http://localhost:8080/v1/users/registered?username=zhaoxiaodao&password=123456
//    第一种接收方式: 通过 HttpServletRequest 方式
    @RequestMapping("registered")
    public String registered(HttpServletRequest request){
//        获取请求体中的参数
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        return username + " - " + password;
    }

    /*
    * 通过 @RequestParam 注解接收数据
    * 修改密码功能
    *
    * 通过声明参数方式接收数据
    *  利用 @RequestParam 注解进行接收 若果参数名和 请求的参数名一样 则 不用添加 @RequestParam注解
    * */
    @RequestMapping("changepwd")
    public String changepwd(@RequestParam("username")  String name, String newpwd){
        return name + " - " + newpwd;
    }


    /*
    * DTO类方式接收
    *   功能: 第三方微信登录功能
    * */
    @RequestMapping("weiChat")
    public String weiChat(WeichatDTO weichatDTO){
        String name = weichatDTO.getName();
        String pwd = weichatDTO.getPwd();
        return name+ " - "+ pwd;
    }

}
